package com.hj.learn.demo2;

public class Lambda {

    public static void main(String[] args) {
//        ILove lov  = new Love();
//        lov.Love(2);
        ILove love = null;


        class Love implements ILove{
            @Override
            public void Love(int a) {
                System.out.println("I Love you"+a);
            }
        }


        //Lambda表达式简化
        love = (int a)-> {
            System.out.println("I Love you"+a);
        };
        love = a->{
            System.out.println("I Love you  "+a);
        };
        love = a-> System.out.println("I Love you  "+a);//最简形式，参数多少没有关系，加上即可
        love.Love(22);
    }
    /**
     *lambda表达式简化最多可以简化到没有大括号的程度，当然，取决于只有一条语句的时候，如果有多条语句则不行
     * 函数式接口内有且仅有一条语句，否则不成立
     */
}

//定义一个函数式接口
interface ILove{
    void Love(int a);
}

//实现类
class Love implements ILove{
    @Override
    public void Love(int a) {
        System.out.println("I Love you"+a);
    }
}
